package com.chr.hongyun.service;

import com.chr.hongyun.pojo.MessageEntity;
import com.chr.hongyun.pojo.MessageRefEntity;

import java.util.HashMap;
import java.util.List;

public interface MessageService {
    /**
     * 插入一条消息(消息内容关于发送人,发送人名称等等)
     * @param entity
     * @return
     */
    String insertMessage(MessageEntity entity);

    /**
     * 分页查询消息
     * @param userId
     * @param start
     * @param length
     * @return
     */
    List<HashMap> searchMessageByPage(int userId, long start, int length);

    /**
     * 根据Id查询消息
     * @param id
     * @return
     */
    HashMap searchMessageById(String id);

    /**
     * 插入一条消息(消息内容关于员工,员工是否已读消息等等)
     * @param entity
     * @return
     */
    String insertRef(MessageRefEntity entity);

    /**
     * 查询未读消息的数量
     * @param userId
     * @return
     */
    long searchUnreadCount(int userId);

    /**
     * 查询员工新接到消息的数量
     * @param userId
     * @return
     */
    long searchLastCount(int userId);

    /**
     * 把员工未读消息状态改为已读
     * @param id
     * @return
     */
    long updateUnreadMessage(String id);

    /**
     * 根据Id删除消息Ref记录
     * @param id
     * @return
     */
    long deleteMessageRefById(String id);

    /**
     * 删除一个员工ref的所有消息
     * @param userId
     * @return
     */
    long deleteUserMessageRef(int userId);
}
